1. Field of the Invention
The present invention relates to a method of visualizing the results of performance monitoring and analysis in a parallel computing system employing a plurality of processors, and more specifically to a method of visualizing the results of performance monitoring and analysis in a more convenient and comprehensive way. The present invention relates also to a computer-readable medium encoded with a computer program in which the foregoing method is implemented.
2. Description of the Related Art
Parallel processing techniques play a crucial role in meeting the increasing demands of today for high-performance computing systems. A parallel computing system executes an application by using multiple processors that run in parallel, thereby yielding high processing throughput. Development of software for a parallel computing system, however, generally involves some difficulties in program debugging, evaluation, and performance tuning because of its complex nature.
To solve the problem, performance analyzers are introduced as a convenient tool that helps software programmers in monitoring the behavior of a parallel program under test and measuring its performance. The analyzer digests the collected data and presents the result to the user as a summarized execution profile.
One conventional performance analyzer provides execution profile of individual processors, which is summarized in such a way that the total processing time is classified into some categories including net operating time and idle time, etc. Execution profile of each processor is separately represented in the form of bar graph or the like.
This conventional method of displaying execution profiles, however, is not convenient for the software development engineers at all when the parallel processing system contains hundreds of processors. Information displayed on an analyzer screen is too enormous for them to properly understand the program behavior, since so many processors are running in parallel. In such a case, the conventional analyzer can somewhat ease the difficulty by applying some statistical processing to the captured raw data. This allows the overall program behavior or average performance of the processors to be presented to the engineers in a more comprehensive way.
However, the information provided by this conventional performance analyzer is not sufficient for the software development engineers to fully understand the system performance and the detailed relationship between the processes running in parallel.